/* 
 * File:   Repositorio.h
 * Author: gabilan
 *
 * Created on 24 de mayo de 2013, 19:33
 */

#ifndef REPOSITORIO_H
#define	REPOSITORIO_H

#include <string>
#include <iostream>
#include <set>
#include "common_RepoItem.h"

using namespace std;

typedef set<RepoItem*> SetRepoItem;

class Repositorio {
public:
    Repositorio(const char* pPath);
    
    string GetPath() const{
        return this->_path;
    }
    
    void AgregarRepoItem(RepoItem * r){
        this->lista_archs.insert(r);    
    }
    
    bool ExisteRepoItem(const string & filename);
    
    RepoItem * GetRepoItemByPath(const string & path);
    
    RepoItem * GetRepoItemByFilename(const string & filename);
    
    Repositorio (const string &pPath);
    
    virtual ~Repositorio();
private:
    string _path;
    SetRepoItem lista_archs;
};

#endif	/* REPOSITORIO_H */

